home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / mus / play / multiplsr.lha / player.i < prev    next >
Text File  |  1992-09-14  |  4KB  |  137 lines

  1. * MultiPlayer
  2. * Copyright (C) 1992 Bryan Ford
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software
  16. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. *
  18. * I (the author of MultiPlayer) can be contacted on the Internet at
  19. * "bryan.ford@m.cc.utah.edu".  See "Player.doc" for other addresses.
  20. *
  21. * $Id: player.i,v 4.2 92/07/12 08:28:29 BAF Exp Locker: BAF $
  22. * Global header for assembly language modules
  23. *
  24.  
  25.         ifnd    EXEC_TYPES_I
  26.         include "exec/types.i"
  27.         endc
  28.  
  29.         ifnd    EXEC_NODES_I
  30.         include "exec/nodes.i"
  31.         endc
  32.  
  33.         ifnd    BRY_GMOD_I
  34.         include "bry/gmod.i"
  35.         endc
  36.  
  37. CUSTOM          equ     $dff000         ; Custom chip address
  38. CIAA            equ     $bfe001         ; CIA A registers
  39. CIAB            equ     $bfd000         ; CIA B registers
  40.  
  41. RTSINST         equ     $4e75           ; Code for an RTS instruction
  42.  
  43. CLOCK           equ     3579545         ; Audio clock frequency
  44.  
  45. ERRCOUNT        equ     10              ; Errors stay in window for 1 second
  46.  
  47. SPECTRUMWIDTH   equ     128
  48. SPECTRUMHEIGHT  equ     32
  49. SPECTRUMRES     equ     16
  50.  
  51. SCOPEWIDTH      equ     64
  52. SCOPEHEIGHT     equ     32
  53.  
  54. NOTEWIDTH       equ     128
  55. NOTEHEIGHT      equ     64
  56.  
  57. FFperF          equ     3               ; Flash frames per frame
  58.  
  59. INFOCOLS        equ     45              ; Number of columns in one line of the Info window
  60.  
  61. *** System flags (_sysflags)
  62.         BITDEF  S,KILL,0
  63.         BITDEF  S,TIMERUP,2
  64.         BITDEF  S,WINDOWUP,3
  65.         BITDEF  S,REPEAT,4
  66.         BITDEF  S,SECOND,5
  67.         BITDEF  S,FADEDONE,6
  68.  
  69. *** Play mode (_playmode)
  70. PM_SEQUENCE     equ     0
  71. PM_RANDOM       equ     1
  72. PM_ONCE         equ     2
  73. PM_OVEROVER     equ     3
  74. PM_SEQUENCEONCE equ     4
  75.  
  76. *** Show mode (_showmode)
  77. SM_NOTHING      equ     0
  78. SM_CLOCK        equ     1
  79. SM_SEQUENCE0    equ     2
  80. SM_SEQUENCE1    equ     3
  81.  
  82. *** Flash flags (_flashflags)
  83.         BITDEF  F,SPECTRUM,0
  84.         BITDEF  F,SCOPE,1
  85.         BITDEF  F,QSCOPE,2
  86.         BITDEF  F,NOTES,3
  87.         BITDEF  F,CHANNELS,4
  88.  
  89. *** Module type flags (modtype)
  90.         BITDEF  MT,MODSPEED,0           ; Supports modspeed
  91.         BITDEF  MT,SEQUENCE,1           ; Supports sequence display
  92.         BITDEF  MT,REPEAT,2             ; Supports repeat detection
  93.         BITDEF  MT,MODIFIED,3           ; Mod prefs have been changed
  94.         BITDEF  MT,PROTRACKER,4         ; This is the Protracker player
  95.         BITDEF  MT,FILTER,5             ; Filter can be controlled
  96.         BITDEF  MT,JUMP,6               ; Module can jump to other positions
  97.  
  98.  STRUCTURE      FileSpec,0              ; Spec for a loaded file
  99.         APTR    fs_Mem                  ; Pointer to start of memory
  100.         ULONG   fs_FileSize             ; Size of file
  101.         APTR    fs_EndMem               ; Pointer to end of memory
  102.         ULONG   fs_AllocSize            ; Size of allocated memory block
  103.         LABEL   fs_SIZEOF
  104.  
  105.  STRUCTURE      ScopeChanData,0         ; Data for one channel of the scope
  106.         APTR    scd_sample
  107.         UWORD   scd_len
  108.         UWORD   scd_rep
  109.         UWORD   scd_pos
  110.         UWORD   scd_inc
  111.         UWORD   scd_per
  112.         WORD    scd_pad
  113.         LABEL   scd_SIZEOF
  114.  
  115.  STRUCTURE ModNode,MLN_SIZE
  116.         UWORD   mn_size
  117.         APTR    mn_nameptr
  118.         LONG    mn_dir
  119.         BYTE    mn_volume
  120.         BYTE    mn_balance
  121.         BYTE    mn_speed
  122.         BYTE    mn_filter
  123.         ULONG   mn_endtime
  124.         BYTE    mn_flags
  125.         BYTE    mn_pad
  126.         LABEL   mn_name
  127.  
  128.         BITDEF  MN,ENDFADE,1
  129.         BITDEF  MN,PTTEMPO,2
  130.         BITDEF  MN,NOTPROTRACKER,3
  131.  
  132. plstartret      macro   ; <label>       ; Return code from player start routines
  133.                 lea     \1-gmod_InitMusic(pc),a0
  134.                 move.l  a0,d0
  135.                 rts
  136.                 endm
  137.